import Constant from "@/constant/constant.js"
export default {

	common: {
		baseUrl: 'http://' + Constant.socketUrl,
		data: {},
		header: {},
		method: "GET",
		dataType: 'json'
	},
	/**
	 * 请求拦截器
	 */
	request(options = {}) {
		let token = uni.getStorageSync('token')
		if (token) {
			this.common.header = {
				'token': token,
				// 若依管理系统后端识别的是这个
				'Authorization': token
			}
		}
		options.url = this.common.baseUrl + options.url;
		options.data = options.data || this.common.data;
		options.header = options.header || this.common.header;
		options.method = options.method || this.common.method;
		options.dataType = options.dataType || this.common.dataType;
		// console.log("请求参数options：" + JSON.stringify(options));
		return new Promise((res, rej) => {
			uni.request({
				...options,
				success: (result) => {
					// console.log("请求响应：" + JSON.stringify(result));
					let data = result.data;
					if (data.code != 200) {
						// 报错提示
						// uni.showToast({
						// 	title: data.msg,
						// 	icon: 'none',
						// 	duration: 2000
						// })
						if (data.code == 401) {
							// console.log("跳转到登录页")
							// 清除掉token，因为token在后端已经过期
							uni.clearStorage();
							uni.reLaunch({
								url: "/pages/login/login"
							})
						} else {
							// catch可以接收data
							return rej(data);
						}
					}
					// then可以接收data
					res(data);
				},
				fail: (error) => {
					// 处理请求失败的情况
					return rej(error);
				}
			})
		})
	},

}